<script>
    //1.打乱数组
    function shuffle(someArray) {
      return someArray.slice().sort(
        function() {
            return 0.5-Math.random()}
      )
    }
    console.log(shuffle([10, 12, 15])) // [12, 15, 10]
    
    //2.按示例合并数组
    function mix(firstArray,secondArray) {
      // 取得最大长度
      const maxLen=Math.max(firstArray.length,secondArray.length)
      // 声明新数组
      const ret=[];
      // 循环
      for(let i;i<maxLen;i++){
        if(i<firstArray.length){ret.push(firstArray[i])}
        if(i<secondArray.length){ret.push(secondArray[i])}
      }
      // 新数组返回
      return ret
    }
    console.log(mix([1, 2, 3], [4, 5, 6])) // [1, 4, 2, 5, 3, 6]
    console.log(mix(['h', 'a', 'c'], [7, 4, 17, 10, 48])) // ["h", 7, "a", 4, "c", 17, 10, 48]
  
    //3.按求和排序
    function orderBySum(someArray) {
        return someArray.sort(function(a,b){
          return(a[0]+a[1])-(b[0]+b[1])
        })
    }
    console.log(orderBySum([[1, 3],[4, 2],[2, 1],])) // [[2,1], [1,3], [4,2]]
  
    //4.找到只出现一次的字符
    // function findOddOneOut(someArray) {
    //   var arr=[];
    //   arr=someArray.filter(function(i){
    //     return someArray.indexOf(i)==someArray.lastIndexOf(i)
    //   })
    //   return arr;
    // }
    function findOddOneOut(someArray) {
      const ret=[];
      for(let i=0;i<someArray.length;i++){
        const n=someArray[i]
        if(someArray.indexOf(n)===someArray.lastIndexOf(n)){
          return ret
        }
      }
    }
  console.log(findOddOneOut(['a', 'a', 'b', 'a', 'c'])) // ['b', 'c']
   console.log(findOddOneOut(['a', 'a', 'b', 'a'])) // b
  
    //5.找到数组的最小值和最大值
    // function findSmallestAndLargestNumbers(someArray) {
    //      var arr3=[];
    //      arr3.push(Math.min.apply(null,someArray),Math.max.apply(null,someArray));
    //      return arr3;
    // }
    function findSmallestAndLargestNumbers(someArray) {
       
        return [Math.min.apply(null,someArray),Math.max.apply(null,someArray)];
        
    }
    console.log(findSmallestAndLargestNumbers([14, 28, 3, 8, 2]))
    // [2, 28]
  
    // 6.按示例转换数组
    // function splitByOddAndEven(someArray) {
    //  var Arr=[],Arr1=[],Arr2=[];
    //  someArray.forEach(function(i){
    //    if(i%2==0){
    //      Arr.push(i)
    //    }else{
    //      Arr1.push(i)
    //    }
    //  })
    //  Arr.sort(function(a,b){
    //    return a-b;
    //  })
    //  Arr1.sort(function(a,b){
    //    return a-b;
    //  })
    //  Arr2.push(Arr,Arr1);
    //  return Arr2;
    // }
     function splitByOddAndEven(someArray) {
    // return [someArray.filter(function(n){firstArray(n){return n%2==0}})]
     }
    console.log(splitByOddAndEven([2, 3, 7, 6, 2, 4, 9]))
    // [[2, 4, 6], [3, 7, 9]]
  
    //7.只保留出现过一次的数据
    function onlyUnique(someArray) {
      // your code
      var arr=[];
    arr=someArray.filter(function(i){
      return  someArray.indexOf(i)==someArray.lastIndexOf(i)
    })
    return arr;
    }
    console.log(onlyUnique([1, 1, 2, 3, 3, 4, 4, 5])) // [2, 5]
  
    //8.数组排序按字母顺序（注意行也要排序）
    function alphabetize(someArray) {
  return someArray.sort(function(a,b){
    let s1=a.join('')
    let s2=b.join('')
    return s1>s2?1:s1<s2?-1:0
  })
    }
  
    var jumbledAlphabet = [
      ['e', 'd', 'f'],
      ['a', 'c', 'b'],
      ['m', 'o', 'n'],
    ]
    console.log(alphabetize(jumbledAlphabet))
    // [["a", "b", "c"], ["d", "e", "f"], ["m", "n", "o"]]
  
    //9.找到两个数组里都出现的值
   var firstArray = ['dog', 'cat', 'parrot']
    var secondArray = ['lizard', 'rat', 'cat']
     function findCommonWords(firstArray, secondArray) {
        var res=[];
        for(var i=0;i<firstArray.length;i++){
          for(var k=0;k<secondArray.length;k++){
            if(firstArray[i]==secondArray[k]){
             res.push(firstArray[i])
            }
          }
        }
        return res;
    }
    console.log(findCommonWords(firstArray, secondArray)) // ["cat"]
  
    //10.判断第一个数组是否包含第二个数组的所有元素
    function containsAllElements(firstArray, secondArray) {
     return firstArray.some(function(ev,i){
       return firstArray[i]==secondArray
     })
    }
    console.log(containsAllElements(['monday', 'tuesday'], ['tuesday'])) // true
  
    //11.排序，数字在字母前
    function sortTheArray(someArray) {
      // your code
  
    }
    console.log(sortTheArray(['b', 6, 'a', 'q', 7, 2]))
    // [2, 6, 7, "a", "b", "q"]
  
    //12.用指定index取出数据成为新数组
    function buildArray(someArray, indexes) {
  
    }
  
    console.log(buildArray(['mon', 'tue', 'wed', 'thur', 'fri'], [1, 3, 4])) // ["tue", "thur", "fri"]



  </script>
  